import { input, select, opt, createValidator } from 'project/admin/utils/form'

export const where = {
  schedule: select().label('活动场景').default(2).options([
    opt().label('app外').val(1).value(),
    opt().label('app内').val(2).value(),
  ]).value(),
  id: input().label('活动id').placeholder('请输入活动id').value(),
  name: input().label('活动名称').placeholder('请输入活动名称').value(),
  department: select().label('活动场景').default(2).options([
    opt().label('公共部门').val(1).value(),
    opt().label('运营').val(2).value(),
    opt().label('渠道').val(3).value(),
    opt().label('市场').val(4).value(),
    opt().label('会员中心').val(5).value()
  ]).value(),
}

const channelCheck = createValidator((val, cb) => {
  // console.log('%c gc_val=>: ','color: MidnightBlue; background: Aquamarine; font-size: 20px;',val);
  // val&&val.length>0?cb:cb(new Error('必须添加至少一个渠道'))
  try {
    val = JSON.parse(val)
  } catch (error) {
    val = []
  }
  console.log('%c gc_val=>: ', 'color: MidnightBlue; background: Aquamarine; font-size: 20px;', val);

  if (val && val.length > 0) {
    val.forEach((item) => {
      // !item.name || item.value && item.value.length < 2 ? cb(new Error('渠道名或者时间不能为空')) : cb()
      if (!item.name || item.value && item.value.length < 2) {
        cb(new Error('渠道名或者时间不能为空'))
      } else if (new Date(item.value[1]).getTime() - new Date(item.value[0]).getTime() <= 0) {
        cb(new Error('结束时间必须大于开始时间'));
      }
    })
  } else {
    cb(new Error('必须添加至少一个渠道'))
  }
  cb()
})
export const activeOpt = {
  background_image_url: opt().type('upLoad').val().label('活动背景图片').setValue({
    action: "http://192.168.28.125:7001/common/upLoad",
    maxSize: 150,
    fileList: [],
    data: { dir: 'active' },
  }).value(),
  name: input().label('活动名称').requiredRule().value(),
  schedule: select().default(2).label('活动场景').options([
    opt().val(1).label('app外').value(),
    opt().val(2).label('app内').value()
  ]).value(),
  department: select().label('所属部门').default(2).options([
    opt().val(1).label('公共部门').value(),
    opt().val(2).label('运营').value(),
    opt().val(3).label('渠道').value(),
    opt().val(4).label('市场').value(),
    opt().val(5).label('会员中心').value()
  ]).value(),
  times: input().type('date').label('时间').setValue({
    defaultTime: ['00:00:00', '23:59:59'],
    start_time: false,
    end_time: false
  }).default([]).timeRule().value(),
  // start_time: input().type('date').label('开始时间').setValue({
  //   defaultTime: '00:00:00',
  // }).requiredRule().value(),
  // end_time: input().type('date').label('结束时间').setValue({
  //   defaultTime: '23:59:59',
  // }).requiredRule().value(),
  is_use_coupon: input().default(1).type('radio').label('是否使用卡卷').options([
    opt().label('不可使用').val(0).value(),
    opt().label('可使用').val(1).value(),
  ]).value(),
  activity_abroad_url: input().label('活动链接').checkUrl().value(),
  channels: input().type('hidden').label('渠道').rule({
    required: true, validator: channelCheck
  }).value()
}